---
title: iPolicyPeriodBase
summary: API reference for iPolicyPeriodBase.
status: draft
owner: SAIF Claims BOF team
last_reviewed: 2026-08-21
library: SAIF.Business.Policy
reference_type: embedded
---

# iPolicyPeriodBase

Defines the broader policy-period contract built on `iPeriodRatingInfo` and `IDateRange`. It combines coverage dates, billing/rating classifications, issuance and renewal metadata, financial-system ownership, premium values, and lifecycle flags so downstream policy components can reason about one policy period through a single interface.

## Purpose
- Provide a shared policy-period shape for consumers that need more than the core rating fields.
- Combine coverage window data, financial/rating classifications, and issue/cancel lifecycle facts in one contract.
- Let implementing policy-period types participate in both generic date-range handling and policy-specific logic.

## Context
- Namespace: `SAIF.Business.Policy`
- Assembly/package: `SAIF.Business.Policy`

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `AnniversaryRatingDate` | `Property AnniversaryRatingDate() As Date` | Supplies the anniversary rate date used by rating logic. |
| `RatingEffectiveDate` | `Property RatingEffectiveDate() As Date` | Supplies the effective date used for rating calculations. |
| `IsARDExtended` | `Property IsARDExtended() As Boolean` | Indicates whether the anniversary rate date has been extended. |
| `IsREDExtended` | `Property IsREDExtended() As Boolean` | Indicates whether the rating effective date has been extended. |
| `EffectiveDate` | `Property EffectiveDate() As Date` | Supplies the policy-period effective date. |
| `ExpirationDate` | `Property ExpirationDate() As Date` | Supplies the policy-period expiration date. |
| `RateTierCode` | `Property RateTierCode() As String` | Supplies the rate-tier identifier used for rating. |
| `MarketType` | `Property MarketType() As Policy.Enums.MarketTypes` | Supplies the market classification for the period. |
| `CancelDate` | `ReadOnly Property CancelDate() As Date` | Supplies the date on which the policy period was cancelled when cancellation occurs. |
| `ClaimsReimbursementEffectiveDate` | `ReadOnly Property ClaimsReimbursementEffectiveDate() As Date` | Supplies the start of the claims-reimbursement eligibility window. |
| `ClaimsReimbursementExpirationDate` | `ReadOnly Property ClaimsReimbursementExpirationDate() As Date` | Supplies the end of the claims-reimbursement eligibility window. |
| `CreateDate` | `ReadOnly Property CreateDate() As Date` | Supplies the audit timestamp for when the period record was created. |
| `CreateUser` | `ReadOnly Property CreateUser() As String` | Supplies the audit user that created the period record. |
| `PeriodRange` | `ReadOnly Property PeriodRange() As DateRange` | Supplies the policy period as a reusable date-range value object. |
| `CoverageRange` | `ReadOnly Property CoverageRange() As DateRange` | Supplies the actual coverage window as a reusable date-range value object. |
| `EndOfCoverageDate` | `ReadOnly Property EndOfCoverageDate() As Date` | Supplies the last day coverage remains in force for the period. |
| `FinancialSystem` | `ReadOnly Property FinancialSystem() As Policy.Enums.FinancialSystems` | Supplies the financial system responsible for the period. |
| `GoverningClassCode` | `ReadOnly Property GoverningClassCode() As String` | Supplies the governing classification code used by policy/rating consumers. |
| `IsClaimsReimbursementEligible` | `ReadOnly Property IsClaimsReimbursementEligible() As Boolean` | Indicates whether the period qualifies for claims reimbursement. |
| `IsFinancePremium` | `ReadOnly Property IsFinancePremium() As Boolean` | Indicates whether the period's premium is financed. |
| `IsPerpetualMidPolicyARD` | `ReadOnly Property IsPerpetualMidPolicyARD() As Boolean` | Indicates whether the anniversary rate date follows the perpetual mid-policy rule. |
| `IsPerpetualMidPolicyRED` | `ReadOnly Property IsPerpetualMidPolicyRED() As Boolean` | Indicates whether the rating effective date follows the perpetual mid-policy rule. |
| `LastDateOfCoverage` | `ReadOnly Property LastDateOfCoverage() As Date` | Supplies the final covered date recognized for the period. |
| `OriginalExpirationDate` | `ReadOnly Property OriginalExpirationDate() As Date` | Supplies the unmodified expiration date before later changes such as cancellation or extension. |
| `PayrollReportFrequency` | `ReadOnly Property PayrollReportFrequency() As Policy.Enums.PayrollReportFrequencies` | Supplies the payroll reporting cadence used for the period. |
| `SalesPlan` | `ReadOnly Property SalesPlan() As Policy.Enums.SalesPlans` | Supplies the sales-plan classification for the period. |
| `SalesPlanCode` | `ReadOnly Property SalesPlanCode() As String` | Supplies the external sales-plan code associated with the period. |
| `PolicyIssuanceSystem` | `ReadOnly Property PolicyIssuanceSystem() As Policy.Enums.PolicyIssuanceSystems` | Supplies the system that issued the policy period. |
| `PolicyNumber` | `ReadOnly Property PolicyNumber() As Decimal` | Identifies the policy to which the period belongs. |
| `PolicyRenewalTrack` | `ReadOnly Property PolicyRenewalTrack() As Policy.Enums.RenewalTracks` | Supplies the renewal-track classification for the period. |
| `PolicySuffix` | `ReadOnly Property PolicySuffix() As String` | Supplies the policy suffix used alongside the policy number. |
| `StandardPremiumAmount` | `ReadOnly Property StandardPremiumAmount() As Decimal` | Supplies the standard premium amount associated with the period. |
| `ProratedStandardPremiumAmount` | `ReadOnly Property ProratedStandardPremiumAmount(ByVal inAsOfDate As Date) As Decimal` | Returns the standard premium prorated through the supplied as-of date. |
| `UpdateDate` | `ReadOnly Property UpdateDate() As Date` | Supplies the audit timestamp for the most recent update. |
| `UpdateUser` | `ReadOnly Property UpdateUser() As String` | Supplies the audit user for the most recent update. |
| `IsFlatCancelled` | `ReadOnly Property IsFlatCancelled() As Boolean` | Indicates whether the period was cancelled flat rather than after some coverage elapsed. |
| `IsRenewalPeriod` | `ReadOnly Property IsRenewalPeriod() As Boolean` | Indicates whether the period is a renewal term. |
| `IsCurrent` | `ReadOnly Property IsCurrent() As Boolean` | Indicates whether the period is the currently active one for the policy. |
| `HasCoverage` | `ReadOnly Property HasCoverage() As Boolean` | Indicates whether the period currently has coverage in force. |
| `IsArrearsBillingPlan` | `ReadOnly Property IsArrearsBillingPlan As Boolean` | Indicates whether the period uses an arrears billing plan. |
| `IsIssued` | `ReadOnly Property IsIssued As Boolean` | Indicates whether the period has been issued; the source comment defines issued periods as having had the information page printed. |
| `Equals` | `Overloads Function Equals(ByVal inPolicyPolicyPeriod As iPolicyPeriodBase) As Boolean` | Lets implementations compare two policy-period objects for business equivalence. |
| `Equals` | `Overloads Function Equals(ByVal inPolicyNumber As Decimal, ByVal inEffectiveDate As Date) As Boolean` | Lets implementations compare a policy period to a policy-number/effective-date identity pair. |

## Behavioral notes
- The interface inherits both `iPeriodRatingInfo` and `IDateRange`, so implementers must satisfy the shared rating contract as well as generic date-range expectations.
- The source comment on `IsIssued` ties issuance to whether the information page was printed.

## Constraints and usage notes
- This library defines only the contract; actual behavior such as how a prorated premium is calculated depends on implementing types outside this file.

## Sources
- `SAIF.Business.Policy\iPolicyPeriodBase.vb`